# 菜单显示函数
def Menu():
    print('- ' * 20)
    print('1. 添加新的学生')
    print('2. 修改学生信息')
    print('3. 删除学生信息')
    print('4. 查询学生信息')
    print('5. 显示所有学生信息')
    print('6. 退出系统')
    print('- ' * 20)
    print('- ' * 20)

# 全局变量列表 存放学生信息
info = [{'id':1, 'name':'caicai', 'age':18, 'iphone':'123456'}]

# 添加学生信息
def add_stu():
    stu_id = input('请输入学生学号：')
    stu_name = input('请输入学生姓名：')
    stu_age = int(input('请输入学生年龄：'))
    stu_iphone = int(input('请输入学生手机号（6位）：'))

    # 不存在 则加入
    stu_dict = {}
    stu_dict['id'] = stu_id
    stu_dict['name'] = stu_name
    stu_dict['age'] = stu_age
    stu_dict['iphone'] = stu_iphone

    i = 0
    # 判断是否已经存在该学生
    global info
    for i in info:
        if stu_name == i['name']:
            print('该学生信息已存在！请重新输入！')
            add_stu()

    info.append(stu_dict)

# 修改信息
def edit_stu():
    name = input('请输入要修改信息的学生姓名：')
    i = 0
    global info
    for i in info:
        if name == i['name']:
            id = i['id']
            age = i['age']
            ip = i['iphone']
            print('- ' * 30)
            print(f'学号：{id} \t 姓名：{name} \t 年龄：{age} \t 手机号码：{ip}')
            print('- ' * 30)

# 删除学生信息
def del_stu():
    name = input('请输入要删除的学生名字（退出请输入exit）：')
    i = 0
    global info
    for i in info:
        if name == i['name']:
            info.remove(i)
            print('删除成功！')
            return
    if name == 'exit':
        # 清屏
        return

    else:
        print('不存在该学生信息！无法删除！请重新输入！')
        del_stu()

# 显示所有学生信息
def show_stu():
    print('- ' * 30)
    print('学号 \t 姓名 \t 年龄 \t 手机号码')
    i = 0
    global info
    for i in info:
        id = i['id']
        name = i['name']
        age = i['age']
        ip = i['iphone']
        print(f'{id} \t {name} \t {age} \t {ip}')
    print('- ' * 30)
    return

# 查询学生信息
def find_stu():
    name = input('请输入要查询的学生姓名（退出请输入exit）：')
    i = 0
    global info
    for i in info:
        if name == i['name']:
            print('- ' * 30)
            print('学号 \t 姓名 \t 年龄 \t 手机号码')
            id = i['id']
            name = i['name']
            age = i['age']
            ip = i['iphone']
            print(f'{id} \t {name} \t {age} \t {ip}')
            print('- ' * 30)
            return
    if name == 'exit':
        return
    else:
        print('输入的学生姓名错误或不存在！请重新输入！')
        find_stu()

while True:
    Menu()
    # print(info[0])
    # add_stu()
    choicenum = int(input('请输入你的选择：'))
    if choicenum == 1:
        add_stu()
        print('添加成功!')
    elif choicenum == 2:
        edit_stu()
    elif choicenum == 3:
        del_stu()
    elif choicenum == 4:
        find_stu()
    elif choicenum == 5:
        show_stu()
    elif choicenum == 6:
        break
    else:
        print('输入错误！请输入1-6之间的数字！')
